home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Eagles Nest BBS 5
/
Eagles_Nest_Mac_Collection_Disc_5.TOAST
/
Other Non-Macintosh Text
/
IntArchivi94
/
Internet Archivist 94#4
/
stack_-1.xml
< prev
next >
Wrap
Extensible Markup Language
|
1994-09-10
|
25KB
|
16 lines
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
<stack>
<name>in</name>
<id>-1</id>
<cardCount>131</cardCount>
<cardID>7083</cardID>
<listID>36841</listID>
<cantModify><false /></cantModify>
<cantDelete><false /></cantDelete>
<cantAbort><true /></cantAbort>
<cardSize>
<width>640</width>
<height>480</height>
</cardSize>
<script>ON openStackAddColor installset the cantAbort of this stack to truechoose browse tool-- DANGER faire tests sur copiesput item 4 of the screenRect into basDroitif basDroit > 480 then put 480 into basDroitset the rect of bg fld "Place" to 1,123,639,basDroit - 1if there is a window "Scroll" then hide window "Scroll"IF THE VERSION < 2.1 THENbeepshowDialog 1,1813,"",truego HOMEexit openStackend ifif item 3 of the screenrect < 640 or item 4 of the screenrect < 400 thenbeepput "The Archivist uses the PowerBook screen size or bigger. " into Aput "Minimum window size is 640 by 400 pixels." into Bput A & B into phraseshowDialog 1,111,phrase,true,201,178go this cardput "However you can use the “Small Screen Option”" into Aput " menu item from the “Utilities” menu for a limited exploitation." into Bput A & B into phraseshowDialog 1,111,phrase,true,201,178go this cardend ifpass openStackend openStackon checkIconeif the number of marked cards ≥ 1 thenset icon of bg btn "IcôneTexte" to 5545elseset icon of bg btn "icôneTexte" to 5544end ifend checkIconeon synapse-- vérification RAMhide card windowhide menubarput "You cannot do this with less than 5 megs RAM!" into AshowDialog 1,111,A,true,201,178put 1 into drapeaushow card windowshow menubarexit synapseend synapseon synapse2-- vérification RAM-- si 1 meg donc impossibilité d'importer un textehide card windowhide menubarput "You cannot do this with less than 5 megs RAM" into AshowDialog 1,111,A,true,201,178put 1 into drapeaushow card windowshow menubarexit synapse2end synapse2-- •on Squeezeif diskspace() > size of this stack * 1.001 thendomenu "Compact stack"elseput "Your hard disk is out of space to do the compression!" into phraseshowDialog 1,111,phrase,true,201,178end ifend Squeeze-- •on Howbigget the size of stackdivide it by 1024get round(it)set the numberformat to "0."put it into bg fld "size"put round(the freesize of this stack/1000) into bg fld "libre"set the numberformat to "0.###"put number of chars of bg fld "place"/1024 into bg fld "tailleCarte"set the numberformat to "0.#####"end HowBig-- •on positionif the number of this card is not 1 thenput item 1 of the rect of bg fld "place" into hput item 2 of the rect of bg fld "place" into vclick at h,vend ifend position-- •on automaticset cursor to 4global speedif speed is 1 thenrepeat with i = 1 to the number of lines of bg fld "place" * ¬textheight of bg fld "place"set scroll of bg fld "place" to iif the mouseclick is true then exit automaticend repeatelse if speed is 2 thenrepeat with i = 1 to the number of lines of bg fld "place"set scroll of bg fld "place" to i * textheight of bg fld "place"if the mouseclick is true then exit automaticwait 10end repeatelse if speed is 3 thenrepeat with i = 1 to the number of lines of bg fld "place"set scroll of bg fld "place" to i * (textheight of bg fld "place" * 2)if the mouseclick is true then exit automaticwait 5end repeatend ifend automatic-- •on ordreEtTotalput the number of this card into bg fld "ordre"put the number of cards into bg fld "total"end ordreEtTotal-- •on unionPileglobal drapeau-- Mac has less than 5 megs RAM ?put memInfo() into itput (item 2 of it)/(1024*1024) into megsif megs <5 thensynapseput 1 into drapeauexit unionPileend ifanswer "Would you like to check for card duplication ?" with "Yes" or¬"No" or "Cancel"if it is "Cancel" thenput 1 into drapeauexit unionPileend ifif it is "Yes" then put 1 into takeALookif it is "No" then put 0 into takeALookset cursor to 4go last card of this bgpush this cardput "Importing an Archivist file:" into phraseanswer file phrase of type STAKgo this cardset cursor to 4if it is empty thenput 1 into drapeauexit unionPileend ifput it into pile -- get the name of import stackset lockmessages to true-- Pile à importer = sa taille - taille de cette pile vierge-- par mesure de sécurité, on a déterminé 400 Koput FileLength(it)/1024 into grosseurput grosseur - 400 into grosseurput diskspace()/1024 into tailleDuDisqueif tailleDuDisque < grosseur thenplay boingset numberformat to "0."put "Sorry ! The size of this file is " &¬grosseur & " KB and the space on your disk is "&¬tailleDuDisque& " KB." into phraseanswer phrase with "Ok"put 1 into drapeauset numberformat to "0.######"exit unionPileend if-- importation impossible ?push this cardlock screengo to pileif there is not a bg btn "LiLi" thenbeepanswer "Sorry the format is not compatible with the Archivist!" with "Ok"put 1 into drapeaupop cardexit unionPileend if-- vérification pour The Archivist 2.0 à 2.2a qui n'avait pas -- ••••-- de bg fld JRTdateItemsif there is a bg fld "JRTDateItems" thenput 1 into ExistJRTDateItemselseput 0 into ExistJRTDateItemsend ifgo to pileput the number of cards into nombreput "Now importing " & nombre & " dated texts!" & return &¬"This will take a moment." into promptStringprogress 1, promptstring,202,144repeat with fois = 2 to nombrego to pile -- go to import stackgo card foisput bg fld "place" into tempotexteput line 1 of tempotexte into ligne1if ExistJRTDateItems = 0 thenput bg fld "date" into dateDeLaCarteput bg fld "date" into theDaterepeat with x = 1 to the number of chars of theDateif char x of theDate is "," then put "/" into char x of theDateend repeatconvert theDate to dateItems--put it into pourJRTDateItemsput theDate into pourJRTDateItemselseput bg fld "date" into dateDeLaCarteput bg fld "JRTDateItems" into pourJRTDateItemsend ifput bg fld "page" into lesPagesput bg fld "keyfield" into champ_cleif champ_cle is empty then put "No keyword detected!" into champ_clepop card -- return to main stack-- unwanted card duplication ?if takeALook = 1 then--find tempotexte in fld placefind ligne1 in fld "place"if the result is empty thengo last card of this bkgndpush this cardnext repeatend ifend ifsend mouseUp to bg btn "NEW"put tempotexte into bg fld "place"put dateDeLaCarte into bg fld "Date"put pourJRTDateItems into bg fld "JRTdateItems"put lesPages into bg fld "page"put empty into lesPagesput number of chars of bg fld "place"/1024 into bg fld "tailleCarte"put empty into tempotexteput champ_cle into bg fld "keyfield"if bg fld "keyfield" is empty then put "Aucun mot-clé !" into ¬bg fld "keyfield"put empty into champ_cleif bg fld "page" is " 1/1 " then put "1/1" into bg fld "page"if bg fld "page" is empty then put "1/1" into bg fld "page"put round(fois/nombre*100) into iprogress 2,ipush this cardend repeathide message boxset lockmessages to falseprogress 3go first cardgo this cardunlock screen-- pile est le nom path complet de la pile importéeput "You may now erase the original Archivist file " & ¬"that has been imported here. You would gain room on your disk!" into politesseanswer politesse with "No" or "Yes"if it is "No" thenorganizehowbigpositionput 1 into drapeauif Archiviste1 = 1 then domenu quit hyperCardexit unionPileelse if it is "Yes" thenget deleteFile(pile)organizehowbigpositionput 1 into drapeauif Archiviste1 = 1 then domenu quit hyperCardend ifput 1 into drapeauset lockmessages to falseend unionPile-- •on Autodéfilementglobal drapeau,speedbeep 1showDialog 1,5000,"",false,88,150if the result is 1 then put 2 into speedif the result is 2 then put 1 into speedif the result is 3 then put 3 into speedput 1 into drapeauend autodéfilement-- •on importerTexteglobal drapeau,autorisationif autorisation = 1 thenput "Text file to import." & return &¬">>> The text file will then be erased! <<<"¬into informationelseput "Text file to import. " & return &¬"The text file will not be erased!" into informationend ifanswer file information of type textgo this cardput it into theFileif it is empty thenput 1 into drapeauexit importerTexteend iflock screengo last card-- ................. Le nom du document - la relation HFSput thefile into toLongrepeat while(offset(":",toLong)) >0delete char 1 to offset(":",toLong) of line 1 of toLongend repeatput toLong into NomDuDocumentput FileLength(it) into nombre-- vérification s'il y a assez d'espace sur le disque pour importer-- le texte ...if diskspace() < nombre thenput "Sorry, you don't have enough room on your hard disk!" into phraseanswer phrase with "Ok"pop cardput 1 into drapeauexit importerTexteend ifif nombre <= 29000 then -- 1 carteopen file theFilerepeat for 2 timesread from file theFile for 14500put it after tempoend repeatsend mouseUp to bg btn "NEW"put tempo into bg fld "place"put "1/1" into bg fld "page"put nomDuDocument into bg fld "keyfield"close file theFileelse--il faut plus d'une fiche pour contenir le document importé-- Opération impossible sur Mac de 1 meg RAMput memInfo() into itput (item 2 of it)/(1024*1024) into megsif megs = 1 thenset cursor to 3synapse2put 1 into drapeaupop cardexit importerTexteend ifput 1000 * 29 into quantiteLueput nombre div quantiteLue into nbrCartes --donne le quotientput nombre mod quantiteLue into temp1 --donne le resteif temp1 > 0 then add 1 to nbrCartes --donne un nombre entierput "Importing the document into " & nbrCartes &¬" cards." & return & "Do not type " & NumToChar of 17 && "-." into formuleDePolitesseprogress 1,formuleDePolitesse,202,144lock screenopen file theFilerepeat with i = 1 to nbrCartesput "" into temporepeat for 2 timesput round(i/nbrCartes * 100) into Zprogress 2,Zread from file theFile for 14500put it after tempoend repeatsend mouseUp to bg btn "NEW"put tempo into fld "place"put i & "/" & nbrCartes into bg fld "page"put nomDuDocument into bg fld "keyfield"put "1/" & nbrCartes into expressionif bg fld "page" ≠ expression thenput " ••• rest" after last char of bg fld "keyfield"elseput " >>>" after last char of bg fld "keyfield"end ifsend mouseDown to bg fld "tailleCarte"end repeatprogress 3close file theFile-- plaçons-nous maintenant à la carte 1 de n cartes importées...go card the number of this card - (nbrCartes - 1)unlock screenend ifif autorisation = 1 then get deleteFile(theFile)send mouseDown to bg btn "tailleCarte"put 1 into drapeauend importerTexte-- •••on exporterTexteglobal drapeau,ActuelleLocalisation,LeNombreDePagesif the number of this card = 1 thenput "You can do this only on other cards!" into phraseanswer phraseput 1 into drapeauexit exporterTexteend if-- on utilise ici la procédure “ON HyperVerification”HyperVerificationpush this cardif leNombreDePages >1 thengo card the number of this card - (actuelleLocalisation - 1)-- le dialogueput "Now exporting " & leNombreDePages & " cards into a "&¬" text file that can be read with any text processor!" into phraseput bg fld "keyfield" into dossierif last word of dossier = ">>>" then delete last word of dossierput "Save text as:" into phraseask file phrase with dossiergo this cardlock screenput "Now building the text file!" into phraseif it is not empty thenprogress 1, phrase,202,144wait 30put 0 into rienopen file itrepeat with x = the number of this card to (the number of this¬card + (leNombreDePages - 1))add 1 to rienput round(rien/(leNombreDePages) * 100) into Zprogress 2, Zgo card xput bg fld "place" into temporairewrite temporaire to file itend repeatwrite return to file itclose file itprogress 3end ifpop cardunlock screenput 1 into drapeauexit exporterTexteend if-- Exportation d'un texte reposant sur une seule pageput bg fld "keyfield" into dossier--if last char of dossier = ">" then delete 3 last chars of dossierif bg fld "page" <> "1/1" or bg fld "place" is empty thenput bg fld "keyfield" into dossierend ifif bg fld "keyfield" is empty thenput "• untitled " into dossierend ifif bg fld "keyfield" is not empty and bg fld "page" is "1/1" thenput bg fld "keyfield" into dossierend ifif last word of dossier = ">>>" then delete last word of dossierput "Save text as:" into phraseif the number of this card ≠ 1 thenask file phrase with dossierelseask file phrase with "The Archivist “infos”"end ifgo this cardif it is not empty thenopen file itwrite bg fld "place" to file itwrite return to file itclose file itend ifput 1 into drapeauend exporterTexte-- •on hyperVerification-- gérer la destruction d'un document qui repose sur plusieurs fiches.global ActuelleLocalisation,LeNombreDePagesput "/" into ReplaceWhatput "." into ReplaceByput Substitute(ReplaceWhat,ReplaceBy,bg fld "page") into decimaleput decimale into nombreAvecPointrepeat while(offset(".",decimale)) >0delete char 1 to offset(".",decimale) of decimaleend repeatput decimale into LeNombreDePagesput LeNombreDePages into temporaireput "0." & temporaire into temporaireput nombreAvecPoint - temporaire into ActuelleLocalisationend hyperVerification-- •on triChronologiqueglobal drapeauput memInfo() into itput (item 2 of it)/(1024*1024) into megsif megs = 1 thensynapseput 1 into drapeauexit triChronologiqueend ifpush this cardlock screenorganizePOSITIONpop cardunlock screenput 1 into drapeauend triChronologique-- •on TexteMarquesTransformeglobal drapeauput the number of marked cards into cumulif the number of marked cards = 0 thenanswer "No marked card!" with "Ok"put 1 into drapeauexit TexteMarquesTransformeend ifif cumul = 1 thenput "Do you realy want to transform the text of this marked card " into Aput "into a text file that" into Bput " can be used with any text processor?" into Belseput "Do you realy want to transform the text of " into Aput cumul & " marked cards into a text file that can be used" into Bput " with any text processor?" into Cend ifput A & B & C into phraseanswer phrase with "No" or "Yes"if it is "No" thenput 1 into drapeauexit TexteMarquesTransformeend ifput "TXT√• " & the short name of this stack into dossierput "Save as:" into phraseask file phrase with dossierif the result is "Cancel" or the result is "Annuler" thenput 1 into drapeauexit TexteMarquesTransformeend ifpush this cardset lockscreen to trueput "Now building the text file!" into affirmationput 0 into compteuropen file itprogress 1, affirmation,202,144repeat with carte = 1 to cumulset cursor to busyadd 1 to compteurput round(compteur/cumul * 100) into Zprogress 2,Zgo marked card carteput return & "•••••" into blocput return & "Date: " & bg fld "Date" & " --> " & bg fld "keyfield" & return after blocput return & return & bg fld "place" & return after blocwrite bloc to file itend repeatclose file itpop cardprogress 3put 1 into drapeauend TexteMarquesTransforme-- •on cadenasstar "cadenas"end cadenas-- •on compresserPileglobal drapeaufermerInformationsif freesize of this stack is 0 thenplay tochowbigput 1 into drapeauexit compresserPileend ifsqueezehowbigput 1 into drapeaugo this cardunlock screengo this cardPOSITIONend compresserPile-- •on fermerInformationsif there is a window "informations" then close window "informations"end fermerInformationson organizego first cardsort ascending datetime by bg fld "JRTdateItems"ordreEtTotalend organize-- •on autoEffaceglobal autorisation,drapeau-- cette section vérifie le menu Effaçage automatique et applique-- un crochet selon l'option sélectionnée pour l'item no 5-- du menu Documentsif autorisation is 1 then--CheckMenu menu2 ,5,falseset the checkmark of menuItem "Auto Erase Mode" of menu¬"Documents" to falseput 0 into autorisationelseif autorisation is 0 then--CheckMenu menu2 ,5,trueset the checkmark of menuItem "Auto Erase Mode" of menu¬"Documents" to trueput 1 into autorisationend ifend ifput 1 into drapeauend autoEfface-- •on grandNettoyageglobal drapeauif the number of cards = 1 thenShowDialog 1,112,"",trueput 1 into drapeauexit grandNettoyageend ifrequestgo first cardset cursor to 4organizeset cursor to 4howbigset cursor to 4set the locktext of bg fld "place" to trueset the locktext of bg fld "date" to trueset the locktext of bg fld "keyfield" to trueset the locktext of bg fld "page" to trueput 1 into drapeaupositionend grandNettoyage-- •on requestglobal drapeauput the short name of this stack into nameput "Do you realy want to delete all cards from " & name &" ?" into nameshowDialog 1,11,name,true,178,165if the result is not 1 thenput 1 into drapeauexit requestelsedestructionend ifend request-- •-- destruction de toutes les cartes “non barrées”on destructionglobal drapeauset cursor to 4go first cardbombeAtomiqueend destruction-- •on bombeAtomiqueglobal drapeau,compteurput 0 into compteurset cursor to 4lock screenrepeat the number of cards timesset cursor to busyget the cantdelete of this cardif it is "false" thendomenu delete cardelse-- provision pour permettre la destruction via la poubelle-- dans l'évantualité d'un document multiple. Si “1/1” est-- détecté ... pas de problème--put "1/1" into bg fld "page"go next cardadd 1 to compteurend ifend repeatunlock screengo first cardif compteur = 0 then exit bombeAtomiqueif compteur = 2 thenput the short name of this stack into nameput "One locked card has been found in " & name & " !" into messageshowDialog 1,111,message,true,201,178exit bombeAtomiqueend ifif compteur > 2 thenput the short name of this stack into nameput compteur -1 & " locked cards have been found in " & name & " !"¬into messageshowDialog 1,111,message,true,201,178end ifend bombeAtomique-- •on debarreCartesglobal drapeauput "Do you realy want to unlock all cards?" into phraseshowdialog 1,11,phrase,true,178,165-- go this cardif the result ≠ 1 thenput 1 into drapeauexit debarreCartesend ifpush this cardgo this cardlock screenrepeat with x = 2 to the number of cardsgo card xset cursor to busyif cantdelete of this card is true thenplay cadenasset icon of bg btn "cadenas" to 6121repeat until the sound is "done"end repeatset cantdelete of this card to falseend ifend repeatunlock screenpop cardput 1 into drapeauend debarreCartes-- •on newStackset blindTyping to trueput "création" into msgset blindTyping to falseend newStackon zoneAset the scroll of card window to 0,0end zoneAon zoneBset the scroll of card window to 128,0end zoneBon zoneCset the scroll of card window to 128,139end zoneCon zoneDset the scroll of card window to 0,139end zoneDon marquageif numtochar(195) is in the menus thenexit marquageend ifcreate menu numToChar(195)if there is no menuItem "Unmark Card" of menu numToChar(195) thenput "Unmark Card" into menu numToChar(195) --- utile???end ifset marked of this card to trueend marquageon demarquageif numToChar(195) is in the menus thendelete menu numtoChar(195)unmark this cardend ifend demarquageon frequenceMSGglobal compressableput the script of bg fld "place" into ajustementif ajustement = 20 then put 1 into manuelif ajustement = 40 then put 2 into manuelif ajustement = 60 then put 3 into manuelif ajustement = 80 then put 4 into manuelif ajustement = 100 then put 5 into manuelif ajustement = 150 then put 6 into manuelif ajustement = 200 then put 7 into manuelif ajustement = 250 then put 8 into manuelif ajustement = 300 then put 9 into manuelif ajustement = 350 then put 10 into manuelif ajustement = 400 then put 11 into manuelif ajustement = 450 then put 12 into manuelif ajustement = 500 then put 13 into manuelif ajustement = 550 then put 14 into manuelif ajustement = 600 then put 15 into manuelif ajustement = 650 then put 16 into manuelif ajustement = 700 then put 17 into manuelif ajustement = 750 then put 18 into manuelif ajustement = 800 then put 19 into manuelif ajustement = 900 then put 20 into manuelput "Actual setting: " & ajustement & " KB" & return &¬"If you want, you may choose a new setting below!" into prompt -- ∆put empty into colorListput choix() into listget showList(list,prompt,false,true,"OK,Cancel",manuel) -- ∆if line 2 of it is empty then exit frequenceMSGput the number of items in line 2 of it into numOfItemsrepeat with i = 1 to numOfItemsput line (item i of line 2 of it) of list & ", " after colorListend repeatdelete last char of colorListdelete last char of colorListset the script of bg fld "place" to first word of colorListput first word of colorList into compressableend frequenceMSGfunction choixreturn ¬" 20 K" & return & ¬" 40 K" & return & ¬" 60 K" & return & ¬" 80 K" & return & ¬" 100 K" & return & ¬" 150 K" & return & ¬" 200 K" & return & ¬" 250 K" & return & ¬" 300 K" & return & ¬" 350 K" & return & ¬" 400 K" & return & ¬" 450 K" & return & ¬" 500 K" & return & ¬" 550 K" & return & ¬" 600 K" & return & ¬" 650 K" & return & ¬" 700 K" & return & ¬" 750 K" & return & ¬" 800 K" & return & ¬" 900 K" -- ∆end choixon arrowkey whichif which is "right" thenclick at the loc of bg btn "after"end ifif which is "left" thenclick at the loc of bg btn "before"end ifif which is "up" thenif the number of marked cards = 0 thenput "There is no marked card in " into aput the short name of this stack into bput a & b & "!" into phraseanswer phrase with "Ok"exit arrowkeyend ifgo to next marked cardend ifif which is "down" thenif the number of marked cards = 0 thenput "there is no marked card in " into aput the short name of this stack into bput a & b & "!" into phraseanswer phrase with "Ok"exit arrowkeyend ifgo to previous marked cardend ifend arrowkeyon pasPermisshowDialog 1,1947,"",truerepeat with position = 1 to the number of chars of bg fld "keyfield"if char position of bg fld "keyfield" = ":" then put "" into char¬position of bg fld "keyfield"end repeatend pasPermison tempsDeCompresserglobal compressableif the number of this card ≠ 1 thenput round(the freesize of this stack/1000) into commentGrosif commentGros > compressable thenput "You should soon compact this file!" into infoanswer infoend ifend ifend tempsDeCompresseron calendrierif the version < 2.2 thenanswer "The calendar can be shown only under HyperCard 2.2 or better!"exit calendrierelseif there is not a window "calendoid" thenCalendoidset loc of window calendoid to "230,238"show window calendoidelsebeepanswer "The calendar is already activated!"end ifend ifend calendrieron PrintFaxif the number of chars of bg fld "Page" = 0 then put "1/1" into bg fld "Page"if bg fld "Page" ≠ "1/1" thenbeepput "This command can only handle documents lying on one Archivist card!" into memo1Put " However, a print or fax reaching that size would represent a ± 15 page document!" into memo2put memo1 & memo2 into memoanswer memoexit printFaxend ifif the number of this card is not 1 thenprintField "bkgnd field Place",2,50,30,30,30elsebeepanswer "This is the Archivist front page, all other pages can be handled!"end ifend PrintFaxon CouleurDeFond-- if the number of cards of this stack = 1 then answer "Créer au moins une fiche!"-- if the number of this card = 1 then go card 2addColor getFieldIndex,"bg",the id of bg fld "Place"put the result into coucheaddColor getObjectColor, "bg",coucheput the result into couleurif the number of items of couleur ≠ 3 thenan